Optimizing multi-antenna device configuration

ABSTRACT

In one embodiment, a diagnostic device determines signal strengths of two antennas of a multi-antenna device. When the signal strength of each of the two antennas is unacceptable, the diagnostic device provides a recommendation to adjust each of the two antennas. Alternatively, when the signal strength of a first antenna of the two antennas is unacceptable while the signal strength of a second antenna of the two antennas is acceptable, the diagnostic device provides a recommendation to adjust the first antenna. However, when the signal strength of each of the two antennas is acceptable, but a difference between the signal strength of a first antenna and a second antenna of the two antennas is greater than a threshold, then the diagnostic device determines a weaker antenna with weaker signal strength between the first antenna and the second antenna, and provides a recommendation to adjust the weaker antenna.

TECHNICAL FIELD

The present disclosure relates generally to computer networks, and, moreparticularly, to optimizing multi-antenna device configuration.

BACKGROUND

Many wireless devices, such as “Internet of Things” (IoT) devices thathave embedded cellular modems, have a main antenna and diversity antennathat are used to transmit and receive data over a wireless (e.g.,cellular) network. Antenna diversity, in particular, uses the two (ormore) antennas to improve the quality and reliability of a wirelesslink. However, such multi-antenna devices have common issues that areobserved while deploying these devices, resulting in poor performance ofthe device or occasional loss of service.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments herein may be better understood by referring to thefollowing description in conjunction with the accompanying drawings inwhich like reference is numerals indicate identically or functionallysimilar elements, of which:

FIG. 1 illustrates an example computer network;

FIG. 2 illustrates an example computing device/node;

FIG. 3 illustrates an example simplified wireless network;

FIGS. 4A-4B illustrate an example procedure for optimizing multi-antennadevice configuration; and

FIGS. 5A-5B illustrate an example simplified procedure for optimizingmulti-antenna device configuration.

DESCRIPTION OF EXAMPLE EMBODIMENTS Overview

According to one or more embodiments of the disclosure, a diagnosticdevice determines signal strengths of two antennas of a multi-antennadevice. When the signal strength of each of the two antennas isunacceptable, the diagnostic device provides a recommendation to adjusteach of the two antennas. Alternatively, when the signal strength of afirst antenna of the two antennas is unacceptable while the signalstrength of a second antenna of the two antennas is acceptable, thediagnostic device provides a recommendation to adjust the first antenna.However, when the signal strength of each of the two antennas isacceptable, but a difference between the signal strength of a firstantenna and a second antenna of the two antennas is greater than athreshold, then the diagnostic device determines a weaker antenna withweaker signal strength between the first antenna and the second antenna,and provides a recommendation to adjust the weaker antenna.

Description

A computer network is a geographically distributed collection of nodesinterconnected by communication links and segments for transporting databetween end nodes, such as personal computers and workstations, or otherdevices, such as sensors, etc. Many types of networks are available,ranging from local area networks (LANs) to wide area networks (WANs).LANs typically connect the nodes over dedicated private communicationslinks located in the same general physical location, such as a buildingor campus. WANs, on the other hand, typically connect geographicallydispersed nodes over long-distance communications links, such as commoncarrier telephone lines, optical lightpaths, synchronous opticalnetworks (SONET), synchronous digital hierarchy (SDH) links, orPowerline Communications (PLC), and others. Other types of networks,such as field area networks (FANs), neighborhood area networks (NANs),personal area networks (PANs), etc. may also make up the components ofany given computer network.

In various embodiments, computer networks may include an Internet ofThings network. Loosely, the term “Internet of Things” or “IoT” (or“Internet of Everything” or “IoE”) refers to uniquely identifiableobjects (things) and their virtual representations in a network-basedarchitecture. In particular, the next frontier in the evolution of theInternet is the ability to connect more than just computers andcommunications devices, but rather the ability to connect “objects” ingeneral, such as lights, appliances, vehicles, heating, ventilating, andair-conditioning (HVAC), windows and window shades and blinds, doors,locks, etc. The “Internet of Things” thus generally refers to theinterconnection of objects (e.g., smart objects), such as sensors andactuators, over a computer network (e.g., via IP), which may be thepublic Internet or a private network.

Often, IoT networks operate within a shared-media mesh networks, such aswireless or PLC networks, etc., and are often on what is referred to asLow-Power and Lossy Networks (LLNs), which are a class of network inwhich both the routers and their interconnect are constrained. That is,LLN devices/routers typically operate with constraints, e.g., processingpower, memory, and/or energy (battery), and their interconnects arecharacterized by, illustratively, high loss rates, low data rates,and/or instability. IoT networks are comprised of anything from a fewdozen to thousands or even millions of devices, and supportpoint-to-point traffic (between devices inside the network),point-to-multipoint traffic (from a central control point such as a rootnode to a subset of devices inside the network), and multipoint-to-pointtraffic (from devices inside the network towards a central controlpoint).

Fog computing is a distributed approach of cloud implementation thatacts as an intermediate layer from local networks (e.g., IoT networks)to the cloud (e.g., centralized and/or shared resources, as will beunderstood by those skilled in the art). That is, generally, fogcomputing entails using devices at the network edge to provideapplication services to the local nodes in the network, in contrast tocloud-based approaches that rely on remote data centers/cloudenvironments for the services. To this end, a fog node is a functionalnode that is deployed close to fog endpoints to provide computing,storage, and networking resources and services. Multiple fog nodesorganized or configured together form a fog system, to implement aparticular solution. Fog nodes and fog systems can have the same orcomplementary capabilities, in various implementations. That is, eachindividual fog node does not have to implement the entire spectrum ofcapabilities. Instead, the fog capabilities may be distributed acrossmultiple fog nodes and systems, which may collaborate to help each otherto provide the desired services. In other words, a fog system caninclude any number of virtualized services and/or data stores that arespread across the distributed fog nodes. This may include a master-slaveconfiguration, publish-subscribe configuration, or peer-to-peerconfiguration.

FIG. 1 is a schematic block diagram of an example simplified computernetwork 100 illustratively comprising nodes/devices at various levels ofthe network, interconnected by various methods of communication. Forinstance, the links may be wired links or shared media (e.g., wirelesslinks, PLC links, etc.) where certain nodes, such as, e.g., routers,sensors, computers, etc., may be in communication with other devices,e.g., based on connectivity, distance, signal strength, currentoperational status, location, etc.

Specifically, as shown in the example network 100, three illustrativelayers are shown, namely the cloud 110, fog 120, and IoT 130.Illustratively, the cloud 110 may comprise general connectivity via theInternet 112, and may contain one or more datacenters 114 with one ormore centralized servers 116 or other devices, as will be appreciated bythose skilled in the art. Within the fog layer 120, various fog devices122 (e.g., with fog modules, described below) may execute various fogcomputing resources on network edge devices, as opposed todatacenter/cloud-based servers or on the endpoint nodes 132 themselvesof the IoT layer 130. Data packets (e.g., traffic and/or messages sentbetween the devices/nodes) may be exchanged among the nodes/devices ofthe computer network 100 using predefined network communicationprotocols such as certain known wired protocols, wireless protocols, PLCprotocols, or other shared-media protocols where appropriate. In thiscontext, a protocol consists of a set of rules defining how the nodesinteract with each other.

Those skilled in the art will understand that any number of nodes,devices, links, etc. may be used in the computer network, and that theview shown herein is for simplicity. Also, those skilled in the art willfurther understand that while the network is shown in a certainorientation, the network 100 is merely an example illustration that isnot meant to limit the disclosure.

FIG. 2 is a schematic block diagram of an example computing device 200that may be used with one or more embodiments described herein e.g., asany of the devices shown in FIG. 1 above, and particularly as specificdevices as described further below. The device may comprise one or morenetwork interfaces 210 (e.g., wired, wireless, and in particularcellular interface 215, etc.), at least one processor 220, and a memory240 interconnected by a system bus 250, as well as a power supply 260(e.g., battery, plug-in, etc.).

The network interface(s) 210 and 215 contain the mechanical, electrical,and signaling circuitry for communicating data over links coupled to thenetwork 100, e.g., is providing a data connection between device 200 andthe data network, such as the Internet. The network interfaces may beconfigured to transmit and/or receive data using a variety of differentcommunication protocols. For example, interfaces 210 may include wiredtransceivers, WiFi transceivers, or the like, and cellular interface 215may include cellular transceivers (e.g., a 4G LTE cellular modem), eachto allow device 200 to communicate information to and from a remotecomputing device or server over an appropriate network. Note, further,that the nodes may have two different types of network connections 210,e.g., wireless and wired/physical connections, and that the view hereinis merely for illustration. Also, while the network interface 210 isshown separately from power supply 260, for devices using powerlinecommunication (PLC), the network interface 210 may communicate throughthe power supply 260, or may be an integral component of the powersupply.

The memory 240 comprises a plurality of storage locations that areaddressable by the processor 220 and the network interfaces 210 forstoring software programs and data structures associated with theembodiments described herein. The processor 220 may comprise hardwareelements or hardware logic adapted to execute the software programs andmanipulate the data structures 245. An operating system 242, portions ofwhich are typically resident in memory 240 and executed by theprocessor, functionally organizes the device by, among other things,invoking operations in support of software processes and/or servicesexecuting on the device. These software processes and/or services maycomprise one or more functional processes 246, and on certain devices,an illustrative multi-antenna optimization process 248, as describedherein. Notably, functional processes 246, when executed by processor(s)220, cause each particular device 200 to perform the various functionscorresponding to the particular device's purpose and generalconfiguration. For example, a router would be configured to operate as arouter, a server would be configured to operate as a server, an accesspoint (or gateway) would be configured to operate as an access point (orgateway), and so on.

It will be apparent to those skilled in the art that other processor andmemory types, including various computer-readable media, may be used tostore and execute is program instructions pertaining to the techniquesdescribed herein. Also, while the description illustrates variousprocesses, it is expressly contemplated that various processes may beembodied as modules configured to operate in accordance with thetechniques herein (e.g., according to the functionality of a similarprocess). Further, while the processes have been shown separately, thoseskilled in the art will appreciate that processes may be routines ormodules within other processes.

Optimizing Multi-Antenna Device Configuration

As noted above, Many wireless devices, such as IoT devices that haveembedded cellular modems, have a main antenna and diversity antenna thatare used to transmit and receive data over a wireless (e.g., cellular)network. As also noted above, such multi-antenna devices have commonissues that are observed while deploying these devices, resulting inpoor performance of the device or occasional loss of service. In mostcases, since these antennas are collocated, the expectation is to havesimilar signal conditions on both antennas, though this is not alwaysthe case.

Listed below are some of the most common issues that are observed whiledeploying multi-antenna devices. These problems result in poorperformance of the device or occasional loss of service.

-   -   1. Location based—Multi-antenna devices are usually installed in        indoor and outdoor locations, where there may be environmental        factors that may attenuate the signal being received by the        cellular modems.    -   2. Antenna connectivity—Multi-antenna devices are not installed        correctly in the field, e.g., the main or diversity antenna is        not connected or is loosely connected.    -   3. RF environment—These devices may be installed at a location        where there may be material that interferes with the radio        signal due to proximity to the antennas.

For example, when a user installs a router or other wireless device in alocation, they may occasional experience issues with connectivity (e.g.,connecting, disconnecting, reconnecting, weak signals, etc.).Determining the cause of these problems has been historically difficult,and is often due to physical configuration of the multiple antennas, israther than an issue with the device itself. Although existing designsmay use LEDs or other indicators to indicate signal strengths, thesignal strengths alone are not sufficient to show interference of asignal, and such existing designs also do not allow for remotelyidentifying what the problem may be.

The techniques herein, therefore, provide a recommendation to a userabout antenna position and radio frequency (RF) signal conditions formulti-antenna devices based on signal measurements from each antenna.This allows configuration of the multi-antenna device in a manner thatresults in a better quality wireless signal for the device, and thusless chances of poor or lost wireless connectivity. That is, by lookingat the signal strengths at both antennas (e.g., two levels ofinformation: overall power (volume of the signal) and quality of signal(understanding of the signal)), the techniques herein can determine thatreceiving different signals at two antennas implies that something notright (e.g., one or more are connected while others are not, or one ormore is interfered with, while others are not, and so on), and may makea suggestion on how to correct it.

Specifically, according to one or more embodiments of the disclosure asdescribed in detail below, a diagnostic device determines signalstrengths of two antennas of a multi-antenna device. When the signalstrength of each of the two antennas is unacceptable, the diagnosticdevice provides a recommendation to adjust each of the two antennas.Alternatively, when the signal strength of a first antenna of the twoantennas is unacceptable while the signal strength of a second antennaof the two antennas is acceptable, the diagnostic device provides arecommendation to adjust the first antenna. However, when the signalstrength of each of the two antennas is acceptable, but a differencebetween the signal strength of a first antenna and a second antenna ofthe two antennas is greater than a threshold, then the diagnostic devicedetermines a weaker antenna with weaker signal strength between thefirst antenna and the second antenna, and provides a recommendation toadjust the weaker antenna.

Illustratively, the techniques described herein may be performed byhardware, software, and/or firmware, such as in accordance with themulti-antenna optimization process 248 (e.g., on a diagnostic device),which may include computer executable instructions executed by theprocessor 220 to perform functions relating to the techniques describedherein, e.g., in conjunction with corresponding processes of otherdevices in the computer network as described herein (e.g., themulti-antenna device being diagnosed).

Operationally, the techniques herein retrieve the radio parameters fromthe multi-antenna device (e.g., from cellular modem 215), and formulatea criteria to provide assistance for the optimal placement of the deviceand/or its antennas for better performance. With reference to FIG. 3,which illustrates a simplified network 300 having a multi-antenna device310 (with first antenna 312 and second antenna 314) may communicatewirelessly with another device 320 (e.g., a cellular gateway), such asby using the cellular modem 215 and the two antennas. Illustratively,the first antenna 312 may be a main antenna (e.g., “Rx0”, for bothtransmitting and receiving—Tx/Rx), and the second antenna 314 may be adiversity antenna (e.g., “Rx1”, configured for receiving only—Rx). Asshown, a diagnostic device 330, such as a remote server, is capable ofreceiving information from the multi-antenna device 310, such as througha cellular connection or other network connection (e.g., Internet,Ethernet, etc.). Note that in one embodiment, the diagnostic device 330may be co-located with (i.e., is a component of) the multi-antennadevice 310 (i.e., device 310 is self-diagnosing). As described below,the diagnosing device 330 may be configured to send one or more messages(e.g., provided recommendations) 340 to the multi-antenna device 310(e.g., via the antennas 312/314, via other communication interfaces, orelse to a user or administrator associated with the multi-antenna device310, such as through an SMS, email, command-line interface (CLI), logentries, etc.). Also, as described below, one or more indicators 316(e.g., display, lights, LEDs, etc.) on the multi-antenna device may alsorelay the provided recommendations to a user.

As mentioned above, both antennas of a multi-antenna device may beconnected, but this does not simply imply that they are connected and/orconfigured properly. There is is a possibility of loose connectivity orinterference from reflective materials or other sources. According tothe techniques herein, these factors can be determined based on signalstrengths and signal quality information received form multi-antennadevice 310 (e.g., from its modem 215).

FIGS. 4A-4B illustrate an example procedure for optimizing multi-antennadevice configuration in accordance with one or more embodiments herein.In particular, procedure 400 starts in step 405, and continues to step410, where once a modem is “up” (i.e., operational), then after anoptional time delay (e.g., 30 seconds) in step 415, the diagnosingdevice can read Antenna Information from Hardware Registers of themulti-antenna device 310, as well as Signal Strength and Signal Qualityfrom the modem 215 in step 420. A function call may then be made in step425 to compute the Antenna

Information in order to determine the connectivity of the antennas 312and 314. For instance, an example “COMPUTE Antenna Information” functioncall may comprise:

-- COMPUTE Antenna Information -- =============== IFAntennaStatusRegisterValue == 0;  Recommendation: Main and DiversityAntennas are not connected ELSE IF AntennaStatusRegisterValue == 1 Recommendation: Diversity Antenna is not connected ELSE IFAntennaStatusRegisterValue == 2  Recommendation: Main Antenna is notconnected ELSE IF AntennaStatusRegisterValue == 3  Recommendation: Mainand Diversity Antennas are connected ENDIF ===============

Accordingly, if any of the antennas are not connected (i.e., the valueis less than 3 in the example above), then in step 430 the diagnosingdevice may inform a user about the recommendations on the AntennaConnectivity information (that is, the recommendation to correct thesituation).

If the modem is attached to the network in step 435 (i.e., is incommunication with the network), then in step 440 the diagnosing devicemay make function calls to compute Signal Information and SignalQuality, where if there are recommendations available, then in step 445informs the user about such recommendations on Signal strength andquality mismatching, accordingly. In particular, example functions forcomputing signal quality (i.e., whether an adjustment needs to be made)and for computing signal information (i.e., giving weights for antennaports based on signal strength) are described below:

-- COMPUTE Signal Quality -- =============== IF Signal Quality > goodquality  Recommendation: no need a change in antenna position ELSE Recommendation: need a change in antenna position ENDIF ===============-- COMPUTE Signal Information -- =============== IF Signal Strength ofMain port and Diversity port > good signal strength  IF ((modulo ofSignal Strength of Main and Signal Strength of  Diversity) > 5dB) IF((Signal Strength of Main − Signal Strength of Diversity) > 0 )  weight = 1   Recommendation: need a change in Main antenna position ELSE((Signal Strength of Main − Signal Strength of Diversity) > 0 )  weight = 2   Recommendation: need a change in Diversity antennaposition  ENDIF  ELSE  weight = 0  Recommendation: no need change inantenna position  ENDIF ELSE IF Signal Strength of Main or Diversityport > good signal strength  IF Main port > good signal strength  weight = 3   Recommendation: need a change in Diversity antennaposition or   connectivity  ELSE   weight = 4   Recommendation: need achange in Main antenna position or   connectivity  ENDIF ELSE   weight =5   Recommendation: need a change in both antenna position or  connectivity ENDIF ===============

If the weight equals “0” in step 450 (i.e., no changes are necessary),then the procedure 400 may end in step 480. Otherwise, if changes wererecommended, the procedure may repeat back to step 415 to allow sometime to pass to check whether the changes were successful.

Note that if in step 435 the modem is not attached to the network, thenin step 455 the diagnosing device 330 may attempt to get Attach Failureinformation from modem and check profile and cellular configurationinformation in step 460. If the profile and configuration are incorrectin step 465, or if the profile and configuration is correct in step 465and an Attach failure reason is not available in step 470, then theprocedure continues step 475 to inform the user of the situation (e.g.,modem not attached, incorrect profile or configuration, or no attachfailure reason), and waits for the modem to attach. Otherwise, if anAttach failure reason is available in step 470, then the procedurereturns to step 440 to run function calls for computing SignalInformation and Signal Quality, and making recommendations, as describedabove.

FIGS. 5A-5B illustrate another example simplified procedure foroptimizing multi-antenna device configuration in accordance with one ormore embodiments described herein. For example, a non-generic,specifically configured device (e.g., device 200) may perform procedure500 by executing stored instructions (e.g., process 248).Illustratively, the device 200 may be a diagnostic device 330, or themulti-antenna device 310, itself. As described above, the two antennasmay comprise a main antenna 312 and a diversity antenna 314, thoughother multi-antenna arrangements may be used herein, too, cellularantennas or otherwise.

The procedure 500 may start at step 505, and continues to step 510,where, as described in greater detail above, a diagnosing device 330determines whether a modem 215 of the multi-antenna device 310 isattached to a wireless network 300. If not, then in step 515 thediagnosing device provides a notification of failure information for themodem (e.g., an email, SMS, light indication, etc. to a user orotherwise).

In step 520, the diagnosing device may also determine connectivity ofthe two antennas 312/314 on the multi-antenna device based on readingantenna hardware registers for the two antennas, as described above. Inthis instance, if there is no connectivity for one or both of theantennas (e.g., unplugged, loose, etc.), then in step 525 the diagnosingdevice may provide a recommendation to connect any of the two antennasthat are not connected.

If the modem is attached and the antennas are connected, then in step530 the diagnosing device 330 may determine a signal quality of themulti-antenna device. In response to acceptable signal quality in step535, the procedure may then end in FIG. 5A in step 575. However, inresponse to determining that the signal quality is below a qualitythreshold in step 535, then the procedure 500 continues to FIG. 5B,where, in step 540, the diagnosing device may determine signal strengthsof the two antennas 512/514 of the multi-antenna device.

In step 545, the diagnosing device may determine whether neither, onlyone, or both of the signal strengths are acceptable for the twoantennas.

In step 550, when the signal strength of each of the two antennas isunacceptable (i.e., “neither”), then the diagnostic device may provide arecommendation to adjust each of the two antennas.

In step 555, when the signal strength of a first antenna of the twoantennas is unacceptable while the signal strength of a second antennaof the two antennas is acceptable (i.e., “one”), the diagnostic devicemay provide a recommendation to adjust the first antenna.

However, in accordance with the techniques herein, in step 560, when thesignal strength of each of the two antennas is acceptable, thediagnosing device first determines whether a difference between thesignal strength of a first antenna and a second antenna is of the twoantennas is greater than a threshold (e.g., 5 dB). If so (i.e.,unbalanced antennas), then in step 565 the diagnosing device maydetermine a weaker antenna with weaker signal strength between the firstantenna and the second antenna, and then provides a recommendation toadjust the weaker antenna in step 570.

As described above, any of the provided recommendations 340 may beconfigured in a suitable manner, such as indicating which antennasrequire adjusting by one or more lights on the multi-antenna device, orby a readable message (SMS, email, etc.) sent to a user. Further in oneembodiment, the antennas 512/514 may be configured to be auto-adjustedbased on the provided recommendation from the diagnostic device (e.g.,servos and/or actuators that are configured to adjust the positioning ofthe antennas).

The illustrative procedure 500 may then end in step 575, notably withthe option to continue monitoring and adjusting the antennas,accordingly.

It should be noted that while certain steps within procedure 500 may beoptional as described above, the steps shown in FIGS. 5A-5B are merelyexamples for illustration, and certain other steps may be included orexcluded as desired. Further, while a particular order of the steps isshown, this ordering is merely illustrative, and any suitablearrangement of the steps may be utilized without departing from thescope of the embodiments herein. In particular, the order oftroubleshooting need not be limited to the example shown (e.g., modemattachment, antenna connection, signal quality, then signal strengths),and any suitable order may be used in accordance with the techniquesherein, including omitting certain stages entirely.

The techniques described herein, therefore, provide for optimizingmulti-antenna device configuration. In particular, the techniques hereinsubstantially assist users in multi-antenna installation andtroubleshooting, and essentially allow a user to place a device (andparticularly its antennas) in the right place to achieve optimumperformance. Generally, the techniques herein are particularly usefulfor customers and field engineers who need help installing andconfiguring multi-antenna devices, though may also be used to provideadditional information to support engineers.

As an example, assume that a user complains that her router can “hear”messages from the network (e.g., evident from paging the router, andother messages that the router is able to receive and decipher), but thenetwork, for some reason, is unable to “hear” anything from the router.Based on conventional cellular radio displays, a very misleading picturecan be created:

Radio Information

Radio power mode=ON;

LTE Rx Channel Number=1725;

LTE Tx Channel Number=19300;

LTE Band=3;

LTE Bandwidth=15 MHz;

Current RSSI=−59 dBm;

Current RSRP=−89 dBm;

Current RSRQ=−12 dB;

Current SNR=2.0 dB;

Radio Access Technology (RAT) Preference=LTE;

Radio Access Technology (RAT) Selected=LTE.

However, by using the techniques herein, and examining the signalstrengths of the individual antennas, observed values for Rx0 (mainantenna, Tx and Rx) and Rx1 (diversity, Rx only) may be determined atvarious times “T(a)-T(d)” as follows:

T(a): Rx0:−136.19 dBm;

T(a): Rx1:−94.00 dBm;

T(b): Rx0:−93.38 dBm;

T(b): Rx1:−61.88 dBm;

T(c): Rx0:−10.00 dB;

T(c): Rx1:−00.30 dB;

T(d): Rx0:−22.81 dB;

T(d): Rx1:−12.13 dB.

As can be seen, the two antennas are heavily imbalanced from the receive(Rx) perspective. That is, while these values should only be a dB or twoapart in the difference between them, instead the reference signalreceive power (RSRP), for instance, is up to 42 dB apart at T(a). Withsuch an imbalance, in favor of Rx1 (a receive only antenna), and againstRx0 (both transmit and receive), the user's router likely believes thatthe receive signal is strong enough to transmit data at a level that isfar too low, resulting in the transmitted data signal dying, forexample, well before it reaches an associated base station (e.g., anEvolved node B, or “eNB”). According to the techniques described above,therefore, such difficult-to-diagnose issues of the router may not onlybe determined, but also recommendations may be made to the user toadjust the router's antennas in order to fix the problem. (Note that ifthe issue is still not corrected, than perhaps there is a greater issuecausing the problem, and the user may replace or otherwise repair themalfunctioning router.)

Note further that if the criteria of the embodiments described above areapplied periodically, the techniques herein may also gather theinformation and use it to make recommendations for repositioning ofantennas based on historical data.

While there have been shown and described illustrative embodiments thatprovide for optimized multi-antenna device configuration, it is to beunderstood that various other adaptations and modifications may be madewithin the spirit and scope of the embodiments herein. For example,while certain embodiments are described herein with respect to “IoT”networks in particular, the techniques are not limited as such and maybe used with computer networks, generally, in other embodiments. Inaddition, while certain devices are shown, such as routers, accesspoints, gateways, etc., other suitable is devices may be used,accordingly. Moreover, the techniques herein may have been described interms of particular terminology that might infer cellular antennas.However, the embodiments in their broader sense are not as limited, andmay, in fact, be used with other types of wireless networks andprotocols, regardless of their underlying communication protocol.

The foregoing description has been directed to specific embodiments. Itwill be apparent, however, that other variations and modifications maybe made to the described embodiments, with the attainment of some or allof their advantages. For instance, it is expressly contemplated that thecomponents and/or elements described herein can be implemented assoftware being stored on a tangible (non-transitory) computer-readablemedium (e.g., disks/CDs/RAM/EEPROM/etc.) having program instructionsexecuting on a computer, hardware, firmware, or a combination thereof.Accordingly this description is to be taken only by way of example andnot to otherwise limit the scope of the embodiments herein. Therefore,it is the object of the appended claims to cover all such variations andmodifications as come within the true spirit and scope of theembodiments herein.

What is claimed is:
 1. A method, comprising: determining, by adiagnostic device and after determining a modem of a multi-antennadevice is attached to a wireless network, connectivity of two antennasof the multi-antenna device by reading antenna hardware registers forthe two antennas of the multi-antenna device and signal strengths of thetwo antennas by making one or more function calls for computing a signalquality of the multi-antenna device based on the modem; determining, bythe diagnostic device and based on the determined connectivity of thetwo antennas and the determined signal strengths of the two antennas,whether a signal strength of a first antenna of the two antennas isacceptable or unacceptable and whether a signal strength of a secondantenna of the two antennas is acceptable or unacceptable; in responseto determining that the signal strengths of the first antenna and thesecond antenna are unacceptable, providing, by the diagnostic device, arecommendation to adjust physical positioning of each of the twoantennas on the multi-antenna device; in response to determining thatthe signal strength of the first antenna is unacceptable while thesignal strength of the second antenna is acceptable, providing, by thediagnostic device, a recommendation to adjust physical positioning ofthe first antenna on the multi-antenna device; and in response todetermining that the signal strengths of the first antenna and thesecond antenna are acceptable, but a difference between the signalstrength of the first antenna and the second antenna is greater than athreshold: determining, by the diagnostic device, a weaker antenna withweaker signal strength between the first antenna and the second antenna;and providing, by the diagnostic device, a recommendation to adjustphysical positioning of the weaker antenna on the multi-antenna device.2. The method as in claim 1, further comprising: determining the signalstrengths and providing the recommendation only when the signal qualityis below a quality threshold.
 3. The method as in claim 1, furthercomprising: providing a recommendation to connect any of the twoantennas that are not connected.
 4. The method as in claim 1, furthercomprising: providing a notification of failure information for themodem when the modem is not attached to the wireless network.
 5. Themethod as in claim 1, wherein the diagnostic device is the multi-antennadevice.
 6. The method as in claim 1, wherein the threshold is 5 dB. 7.The method as in claim 1, wherein the two antennas comprise a mainantenna and a diversity antenna.
 8. The method as in claim 1, whereinthe two antennas are cellular antennas.
 9. The method as in claim 1,wherein providing a recommendation comprises one of either: indicating,by one or more lights on the multi-antenna device, which antennasrequire adjusting; or indicating, by a readable message sent to a user,which antennas require adjusting.
 10. The method as in claim 1, furthercomprising: auto-adjusting, by the multi-antenna device, one or both ofthe two antennas based on the provided recommendation from thediagnostic device.
 11. A tangible, non-transitory, computer-readablemedium storing program instructions that cause a computer of adiagnostic device to execute a process comprising: determining, afterdetermining a modem of a multi-antenna device is attached to a wirelessnetwork, connectivity of two antennas of the multi-antenna device byreading antenna hardware registers for the two antennas of themulti-antenna device and signal strengths of the two antennas by makingone or more function calls for computing a signal quality of themulti-antenna device based on the modem; determining, by the diagnosticdevice and based on the determined connectivity of the two antennas andthe determined signal strengths of the two antennas, whether a signalstrength of a first antenna of the two antennas is acceptable orunacceptable and whether a signal strength of a second antenna of thetwo antennas is acceptable or unacceptable; in response to determiningthat the signal strengths of the first antenna and the second antennaare unacceptable, providing, by the diagnostic device, a recommendationto adjust physical positioning of each of the two antennas on themulti-antenna device; in response to determining that the signalstrength of the first antenna is unacceptable while the signal strengthof the second antenna is acceptable, providing, by the diagnosticdevice, a recommendation to adjust physical positioning of the firstantenna on the multi-antenna device; and in response to determining thatthe signal strengths of the first antenna and the second antenna areacceptable, but a difference between the signal strength of the firstantenna and the second antenna is greater than a threshold: determininga weaker antenna with weaker signal strength between the first antennaand the second antenna; and providing a recommendation to adjustphysical positioning of the weaker antenna on the multi-antenna device.12. The computer-readable medium as in claim 11, wherein the processfurther comprises: determining the signal strengths and providing therecommendation only when the signal quality is below a qualitythreshold.
 13. The computer-readable medium as in claim 11, wherein theprocess further comprises: providing a recommendation to connect any ofthe two antennas that are not connected.
 14. The computer-readablemedium as in claim 11, wherein the process further comprises: providinga notification of failure information for the modem when the modem isnot attached to the wireless network.
 15. The computer-readable mediumas in claim 11, wherein the diagnostic device is the multi-antennadevice.
 16. An apparatus, comprising: one or more network interfacesconfigured to communicate in a computer network; a processor coupled tothe network interfaces and adapted to execute one or more processes; anda memory configured to store a process executable by the processor, theprocess when executed operable to: determine, after determining a modemof a multi-antenna device is attached to a wireless network,connectivity of two antennas of the multi-antenna device by readingantenna hardware registers for the two antennas of the multi-antennadevice and signal strengths of the two antennas by making one or morefunction calls for computing a signal quality of the multi-antennadevice based on the modem; determine, based on the determinedconnectivity of the two antennas and the determined signal strengths ofthe two antennas, whether a signal strength of a first antenna of thetwo antennas is acceptable or unacceptable and whether a signal strengthof a second antenna of the two antennas is acceptable or unacceptable;in response to a determination that the signal strengths of the firstantenna and the second antenna are unacceptable, provide arecommendation to adjust physical positioning of each of the twoantennas on the multi-antenna device; in response a determination thatthe signal strength of the first antenna is unacceptable while thesignal strength of the second antenna is acceptable, provide arecommendation to adjust physical positioning of the first antenna onthe multi-antenna device; and in response a determination that thesignal strengths of the first antenna and the second antenna are isacceptable, but a difference between the signal strength of a firstantenna and a second antenna of the two antennas is greater than athreshold: determine a weaker antenna with weaker signal strengthbetween the first antenna and the second antenna; and provide arecommendation to adjust physical positioning of the weaker antenna onthe multi-antenna device.
 17. The apparatus as in claim 16, wherein theprocess, when executed, is further operable to: determine the signalstrengths and providing the recommendation only when the signal qualityis below a quality threshold.
 18. The apparatus as in claim 16, whereinthe process, when executed, is further operable to: provide arecommendation to connect any of the two antennas that are notconnected.
 19. The apparatus as in claim 16, wherein the process, whenexecuted, is further operable to: provide a notification of failureinformation for the modem when the modem is not attached to the wirelessnetwork.
 20. The apparatus as in claim 16, wherein the apparatus is themulti-antenna device.